// 日期时间转为时间戳 stringDate2timestamp

// 生成时间范围 在el-date-picker中使用 v-model="timerange"
const form = reactive({
  start_time: '',
  end_time: ''
})
export const timerange = computed({
  get() {
    return form.start_time && form.end_time ? [form.start_time, form.end_time] : []
  },
  set(val) {
    form.start_time = val[0]
    form.end_time = val[1]
  }
})

// form输入的日期时间字符串转为时间戳, 在el-date-picker中获得的时间是字符串类型的，提交前转为时间戳给后台
export function stringDate2timestamp(f: any) {
  if (typeof f.start_time !== 'number') {
    f.start_time = new Date(f.start_time).getTime()
  }
  if (typeof f.end_time !== 'number') {
    f.end_time = new Date(f.end_time).getTime()
  }
  return f
}

// 将query对象转为query字符串 ?a=1&b=2
export function obj2query(obj: any) {
  let q = []
  for (let key in obj) {
    if ((obj as { [key: string]: any })[key]) {
      q.push(`${key}=${encodeURIComponent((obj as { [key: string]: any })[key])}`)
    }
  }
  let r = q.join('&')
  r = r ? '?' + r : ''
  return r
}
